import { object_Inf } from "@/utils/typings/index.type";

/*
 * @Descripttion:路由接口
 * @LastEditors: xzh
 * @LastEditTime: 2023-09-18 20:30:57
 */
export interface router_Inf {
  routerMenuArr: Array<routerMenu_Inf>; //路由菜单
  sidmenuArr: Array<resData_Inf>; //菜单源数据
  routerHistoryArr: Array<routerHistory_Inf>; //路由历史记录
  routerMetaArr: Array<routerMeta_Inf>; //路由参数
  firstRouter: string; //一级菜单路由
}
/**
 * @Author: xzh
 * @Descripttion:返回数据类型接口
 * @Param:
 */
export interface resData_Inf {
  id?: string; //主键
  guid: string; //唯一主键
  parentGuid?: string; //父节点主键
  liName: string; //节点名称
  liName_en?: string; //节点名称
  liDataName: string; //节点数据名称
  liIcon?: string; //节点图标
  liHref?: string; //节点地址
  isChild?: boolean; //是否有子级
  isEnable?: boolean; //是否有效
  children?: Array<resData_Inf>;
  externalHref?: string; //外部链接
  hidden?: boolean;
}
/**
 * @Author: xzh
 * @Descripttion: 路由节点接口
 * @Param:
 */
export interface routerMenu_Inf {
  path?: string;
  component?: any;
  guid?: string;
  name?: string;
  children: Array<any>;
  meta?: any;
  redirect?: string;
}
/**
 * @Author: xzh
 * @Descripttion:路由历史接口
 * @Param:
 */
export interface routerHistory_Inf {
  guid: string; //唯一主键
  name: string; //名称
  realPath: string; //项目地址
  title: string; //名称
  title_en: string; //英文名称
}
/**
 * @Author: xzh
 * @Descripttion:路由参数接口
 * @Param:
 */
export interface routerMeta_Inf {
  guid: string; //唯一主键
  meta: object_Inf; //路由参数
}
